En notebook for å lage clustre fra kollokasjoner

Ord kan dann clustre via en kollokasjonsanalyse. Her litt engelsk forklaring:

The term collocation has traditionally been restricted to words that are juxtaposed together as phrases like “strong coffee”, “strict regime” or “eat dinner”. Here we take collocations to be realized as skipgrams, or as word pairs that simply cooccur within a context which in itself is a contiguous sequence of words, typically a paragraph or a window of n words around a given word. Juxtaposed collocates will also be part of the result set.

The collocates for W is the words that are associated with W based on a measure of association. The purpose of such a measure for a word W (e.g. “democracy”) is to provide a means of collecting associated words in the discourses in which W occurs within C. Collocations can be viewed as collecting discourse markers for W, in the sense that the collocates are uttered (written or spoken) together with W. The collocates for W are computed via an association measure on the set of all cooccurrent words.

Start med å importere de kommandoene som trengs fra nbtext

In [1]:
import nbtext as nb
from nbtext import cloud, get_urn, Cluster, Corpus
%matplotlib inline

Definer et cluster for et ord over en gitt periode fra bøker eller aviser

In [2]:
word='abort'
korpus = 'avis'
exp=1.06
In [3]:
brev_cluster_1800 = Cluster(
    'Abortus',
    period=(1810, 1900), 
    before=5, 
    after=5, 
    corpus=korpus,
    reference=150, 
    word_samples=500)
In [4]:
brev_cluster_00_50 = Cluster(
    word, 
    period=(1900, 1950), 
    before=5, 
    after=5, 
    corpus=korpus,
    reference=150, 
    word_samples=500)
In [6]:
brev_cluster_50_70 = Cluster(
    word, 
    period=(1950, 1970), 
    before=5, 
    after=5, 
    corpus=korpus,
    reference=150, 
    word_samples=500)
In [7]:
brev_cluster_70_80 = Cluster(
    word, 
    period=(1970, 1980), 
    before=5, 
    after=5, 
    corpus=korpus,
    reference=150, 
    word_samples=500)
In [9]:
brev_cluster_80_90 = Cluster(
    word, 
    period=(1980, 1990), 
    before=5, 
    after=5, 
    corpus=korpus,
    reference=150, 
    word_samples=500)
In [10]:
brev_cluster_90_00 = Cluster(
    word, 
    period=(1990, 2000), 
    before=5, 
    after=5, 
    corpus=korpus,
    reference=150, 
    word_samples=500)

Inspiser clustre

Hvilke ord er knyttet til clustringsordet, er det variasjon i kontekst, trengs det mer data. Er resultatet tolkbart?

In [15]:
brev_cluster_1800.cluster_set(top=250, exponent=exp)
Out[15]:
tiltager, pleie, Symptom, Symptomet, urigtig, fodring, dorlig, iagttaget, rogt, sial, vist, Slags, nære, et, paa, af, og, ,, ., faa, fr., forten, forud, foruden, fot, fov, fpurgte, fr, fra, forsynet, fraa, fram, franske, frar, fred, frem, fremdeles, fremmed, fri, fort, forste, forstkommende, forffjetlige, for, fora, forat, forbi, fordi, foredrag, ett, foregaar, forenede, forfte, etc., forgyldte, forhen, forhenvcrrendc, form, formenes, forn, forrige, forskjellige, forst, etler, friherren, etc, fyabbe, fyam, fyan, fyanS, fyang, fyar, fyaøe, fyenbe, fyr, fyrr, fyrste, fælge, født, føn, før, førfte, først, første, førstkommende, für, fyabe, fur, foni, funne, frn, fro, fru, fsrst, fsrste, fsrstkommende, ft, fta, ftaar, ftg, ftn, ftob, ftor, ftorc, ftore, fu, fun, funbc, funbe, font, fomme, fon, fe, feg, fekk, felo, fem, fen, fenere, fenge, fer, fet, ff, ffal, ffanb, ffat, ffl, ffulbe, ffulte, fhv, fi, fiben, feet, fc, fif, fax, faabanne, faae, faaet, faar, fagbe, falbt, faldt, familie, famme, fa, fammen, famt, famtibig, fan, fandt, far, fast, faste, fat, fibfte, fifteret, fommer, fl, flat, flere, flg, fli, flor, flpril, flutbe, flutte, fm, fm., fn, g, fo, eu, folgende, folk, etter, fom, faaban, fl., fjar, fig, fjaobe, fige, f, figer, fik, eve, fil, fin, finbc, finde, finder, ev, findes, fine, finer, fir, firar, fit, fj, fjan, fnn, !, g., hjem, hvem, hver, hvert, hvide, hvilke, hvilken, hvilket, hvis, hvor, hvoraf, hvorefter, hvori, hvorpaa, hvortil, hvorved, i, i.i, i.l, i_, ia, ib, hvad, hvab, hus, hoor, ho, hoab, hois, holde, holder, holdes, holdt, hon, honom, hor, hurtig, hos, hosten, hovde, hove, hr, hr., hsiere, hu, hun
In [16]:
brev_cluster_00_50.cluster_set(top=250, exponent=exp)
Out[16]:
kunstig, fremkalt, fremkalle, adgang, indikasjoner, utført, tilfelle, foreta, kunstige, kriminell, forbud, kvinner, kvinne, tillates, utføre, fremkalling, indikasjon, humanitære, abort, frigivelse, sosiale, tillater, lovlig, fremkallelse, tillått, sykehus, svangerskap, adgangen, tillatelse, fødsel, bestemmelser, læge, ulovlig, provosert, provocatus, medisinske, spørsmålet, foretatt, antall, Kunstig, kriminelle, humanitær, kvinnen, us, utvidet, tilfeller, legal, sociale, nutidens, underkastet, dekker, utføres, fare, social, læger, antallet, frivillig, foretas, operasjon, fremkaller, svangre, begrenset, framkalt, hygieniske, ender, utførelse, loven, følge, innlagt, syn, innføres, russepike, svangerskapet, lægene, medisinsk, rettsopfatning, lovforslag, tillate, utvide, prevensjon, abortus, grunner, Samtidig, billige, Sovjet, kontroll, behandlet, tredje, underkaste, strid, inngrep, Politiet, arvemessige, berettiget, aborter, foreslåes, legalisering, spontan, fødsler, sosial, lovens, fremkaldt, frie, latt, foretar, farlig, mener, mening, midler, alene, visse, hevder, heter, middel, utfører, såkalte, Legaliseringen, medfører, enighet, centraleksekutivkomiteens, straffelovens, straff, fremkalles, framkalle, lægebehandling, retten, skjerpet, sådan, bør, bety, Kvinner, faren, fri, politisk, rent, forsøk, 1939., slippe, påkjenning, følgen, fremkalte, utstrekning, dødsstraff, bringes, russepiker, WORKS, sterilisering, preventive, Spørsmålet, illegal, utvei, fremkalde, medføre, prov, provoserte, motiv, forordning, agitasjon, ansees, angående, nødutvei, farligere, operasjonen, legebehandling, Fremkallelsen, AT, legalisert, farene, tillatelsen, tilrettevisning, offentlig, betaling, skyldes, drives, hensikt, samlede, derimot, støtte, dessuten, lov, foreligger, sykdom, Ingen, levende, tvinge, lægebehandllng, gjennemgått, gjennomgått, utførte, ødeleggende, nasjonalrådets, fosterfordrivelse, utvidelse, stadsfysikus, habituell, Allerede, berettigelsen, habituelle, handlingen, tilladelse, risikoen, diskusjon, mistanke, utvidede, leger, ønske, lege, legaliserte, undtagen, straffbart, frihet, endte, frivillige, fostrets, fullstendige, betones, menneskeliv, 2331, Inngrepet, sikkerlig, sjelelig, ukyndig, samvittighetsløse, igang, svangerskapets, propaganda, sykehusene, provoc, forekommer, såkalt, definerbare, dødfødt, barnet, barselfeber, ugifte, voldtekt, påstand, flertallet, dødsfall, innvilget, dekret, Kvinne, infisert, bekjempelse, piken, virkeligheten, innlagte, behøve, innledet, mindste
In [17]:
brev_cluster_50_70.cluster_set(top=250, exponent=exp)
Out[17]:
fri, legal, kvinner, adgang, lovlig, ulovlig, foreta, indikasjoner, Polen, illegal, innvilget, kvinne, Fri, kunstig, medisinske, abort, sosiale, søke, foretatt, tillatelse, prevensjon, svangerskap, søknader, kvinnen, tillate, tillates, kriminell, adgangen, fremkalt, søker, fødsel, utført, oppnå, nektet, lettere, tilfelle, fremkalle, søkte, foretas, kvinnene, Finkbine, tillater, leger, legalisert, indikasjon, svangerskapet, Sherri, gravide, lege, tilfeller, utføre, sterilisering, gis, medisinsk, sykehus, ønsker, loven, tillått, ender, foretar, innført, kravet, Arbeiderpartiets, Sverige, sterilitet, mord, provosert, ugifte, tillatt, grunner, avstand, lov, framkalt, mødre, alternativ, legene, Abort, utvei, avslått, truende, medvirkning, medføre, ansøkninger, kvinnens, soke, debatten, hun, fare, Stockholm, psykiske, akseptere, lovgivning, ønske, Barmen, Assistentlege, Fremkalt, framkalle, provocatus, barnet, avvist, innvilges, utfort, bestemme, drap, utvidet, straff, innebærer, komplikasjoner, foster, sex, straffbart, skilsmisse, forbudet, inngrep, Spørsmålet, innføre, lette, skyldes, gjennomføre, friere, siktet, fosterdrap, programpost, Kvinnen, endte, aborter, legalisering, avslag, tilfellene, preventivmidler, gjennomgå, Finkbines, programfestet, tyveri, benkeforslag, innføring, gifte, folger, imot, hindre, nei, ønsket, graviditet, tilhenger, innvilge, forbudt, spontan, sprit, frykter, Spontan, kjennskapet, forbud, eventuell, lover, legen, sosial, følger, Bernt, problemet, morens, Fosterfordrivelse, tema, nekte, Svangerskap, humanitære, vilkårene, årsak, fødselskontroll, legalisere, avbrutt, kjønnssykdommer, Loven, risiko, svangerskapets, ind, innvilgning, illegale, fremkalte, Vil, søkt, spørsmålet, unntatt, åpne, tidlig, us, såkalt, abortsøkende, hygiene, Helsemyndighetene, Arizona, legenes, diskusjonen, soknader, Thalidomide, oppnådde, avgjøre, Inngrepet, helsedirektoratet, mislykket, Legal, ekteskapet, forbrytelse, antallet, Fruktbarhet, eugeniske, Tove, fortalte, ber, moren, om, vis, dersom, rettmessig, smittsom, anke, programposten, forebygge, fremkaller, homoseksualitet, realiteten, Noreg, risikoen, Kvinnene, brennaktuelle, ulykkelige, sosialmedisinske, godta, medvirket, gravid, preventiver, etiske, inngrepet, etisk, barmhjertighetsdrap, døden, tenkes, praktisert, kriminelle, nødutvei, utveien, løfte, synet, legens, Prevensjon, barnebegrensning, avbrytes, aldersgruppene, Fem, Lovlig, avviser
In [18]:
brev_cluster_70_80.cluster_set(top=250, exponent=exp)
Out[18]:
fri, selvbestemt, sjølbestemt, abort, kvinner, Fri, kvinnen, prevensjon, adgang, Folkeaksjonen, innvilget, lov, legal, Selvbestemt, søke, imot, illegal, mot, kravet, kvinne, provosert, kvinnene, loven, søkte, sjølvvald, utført, sjølvbestemt, søknader, innført, sosiale, svangerskap, avslag, indikasjoner, spørsmålet, kvinnens, bestemt, kvinners, standpunkt, medisinske, om, utføre, innføring, programfestet, avgjøre, reaksjoner, synet, tilhengere, innføre, adgangen, lovforslaget, syn, lovlig, grunner, opplever, innvilges, tillater, fremme, pornografi, soke, lege, Spørsmålet, såkalt, motstandere, folkeaksjonen, forslaget, Sjølbestemt, frihet, aksjon, debatten, prinsippet, avvises, utvei, foretas, foreta, Loven, fremkalt, sjølvald, ulovlig, lovforslag, utfort, bestemme, inngrep, fosteret, Kvinnen, realiteten, Kvinneaksjonen, nei, flertall, avgjørelsen, gravid, svangerskapet, motstander, motstand, sjolbestemt, stemt, leger, gravide, Provosert, forsvares, tillate, avviser, forslag, nødløsning, akseptere, morens, abortlov, strid, rett, kvinna, framkalt, prevensjonsmiddel, ugifte, tilhenger, Kvinner, Forslaget, Mot, motstanderne, gifte, komplikasjoner, prevensjonsveiledning, tillates, nekte, tvungen, aborter, nekter, uønsket, middel, Opplysningsutvalget, soknader, Kravet, sjolvvald, avstand, medisinsk, legalisere, programfeste, abortloven, spontan, svangerskapets, tri, etisk, sel, programpost, fremkalle, godtar, retten, legen, Kvinnefronten, krever, gjennomgått, moralsk, Aksjonen, svangerskapsavbrytelse, kvinnenes, utfore, tilhengerne, programposten, aksjonen, Kristelig, innebærer, osv., problemet, avslått, daghjem, argumenter, Folkeaksjon, fødsel, sokte, mord, rettsvern, kvinnerett, stemte, innvilge, uttalelse, tema, støtter, fn, stortingsperiode, medføre, argument, sosialt, ufrivillig, foreslå, porno, Abort, ender, drap, tilfeller, sporsmålet, holdning, uttalelsen, prinsipielt, BelvbeBtemt, prevensjonsmidler, søknadene, foretar, forbud, nektet, barnet, løsning, artikkel, iKKe, skilsmisse, lovfestet, etiske, seksuell, opplysning, forbyr, synd, forhindre, lettvint, Hvilke, søkt, kjemper, lik, igjennom, gjennomføre, Folkeparti, kriterier, svangerskapsuke, kvinnesak, innvilga, innfører, fremmet, motstanden, sterilitet, vanskeligere, forebygge, vedta, rettferdig, erklært, utfører, Kvinnene, oppnå, moren, alvorlige, lettere, alminnelig, SVs, stemme, psykiske, uønskede, sterilisering, terapeutisk, femtedel, avvisning, mødre, diskutere, Legal, kriminell, betrakter
In [19]:
brev_cluster_80_90.cluster_set(top=250, exponent=exp)
Out[19]:
selvbestemt, fri, loven, kvinner, provosert, prevensjon, abort, utført, lov, Alternativ, mot, retten, syn, Folkeaksjonen, kvinnen, ta, sjølbestemt, tilhengere, imot, spørsmålet, gravide, samboer, gravid, AAN, velger, standpunkt, reaksjoner, sjølvbestemt, kvinnens, spontan, motstandere, Selvbestemt, psykiske, ender, oppheve, motstander, synet, prinsippet, adgang, kvinnene, graviditet, svangerskap, innvilget, holdning, foretatt, avgjørelsen, foreta, drap, Loven, tilhenger, kvinne, innført, kvinners, fosteret, oppheves, svangerskapsuke, bestemt, avviser, hindre, Kristelig, flertall, barnet, Fri, forbud, kampen, Kirken, alternativ, fødsel, Kontoret, tillater, illegal, tvunget, motstanderne, Abort, debatten, avgjøre, lovlig, svangerskapet, Samtale, motstand, foster, utføre, rett, forbudt, sjølvvald, indikasjoner, om, foretas, utvei, skilsmisse, realiteten, Nessa, bestemme, tilfeller, gjennomført, innebærer, sosiale, abortloven, overveier, fosterdrap, ufødte, homoseksualitet, likestilling, søkte, homofili, adgangen, morens, kunstig, fostre, alternativer, protest, utfort, rettigheter, opphevet, grunner, voldtekt, mord, snakke, Høyre, Høyres, sterilisering, godtar, ugift, lova, Lov, Folkeparti, legal, prevensjonsmiddel, fremkalt, tilhengerne, velgere, ulovlig, moralsk, tvungen, etisk, vern, medisinsk, godta, ufrivillig, regjeringssamarbeid, kjempe, medisinske, kjempet, Bondevik, argument, Folkepartis, forby, fremkalle, forbod, tillate, understreke, brudd, Kvinner, løsning, strid, bønn, endelige, valgte, uansett, risiko, innvilges, programfestet, gjennomgått, Kampen, eventuell, Spørsmålet, Knudsen, akseptere, kirkens, legalisert, dødshjelp, holdningen, folkeaksjonen, Eneste, tema, søknader, apent, kjemper, etiske, frivillig, tallene, avgjørelse, homofile, Psykiske, aborter, kvinna, framkalle, selektiv, angår, lovforslag, menneskeverd, bestemmelsen, tillates, dødsstraff, avskaffe, katolske, muligheten, rådgivning, Retten, søkt, uttalelse, flertallet, Ludvig, Kvinnen, Eller, nekte, svangerskapets, kropp, kvinnenes, nødløsning, dødfødsel, opphever, abortsaken, meningsmåling, påvist, legalisering, prester, søke, beslutningen, aksjoner, ekteskap, Romania, tilfelle, inngrep, pornografi, vurderer, skritt, legene, holdninger, 00.25, utfører, barmhjertighetsdrap, årsaker, Genteknologi, genteknologi, akseptert, brennbart, omstendigheter, sosialt, lovfestet, uønsket, nemnda, rettsvern, Folkebevegelsen, sykdommer, Offer, vilje, ønske, Kirkens, gjennomføre
In [20]:
brev_cluster_90_00.cluster_set(top=250, exponent=exp)
Out[20]:
selvbestemt, fri, ta, kvinner, Alternativ, loven, abort, prevensjon, AAN, provosert, velger, utført, gravide, retten, homofili, fostre, kvinnen, syn, mot, svangerskapsuke, voldtekt, svangerskap, lov, alternativ, gravid, reaksjoner, medisinsk, imot, svangerskapet, forbud, motstander, samtale, motstand, kvinnene, adgang, stellerom, forbudt, grunnlag, selektiv, grensen, tilhenger, barnet, lovlig, velge, fosteret, kirurgisk, illegal, foreta, kvinnens, vurderer, utføre, sjølbestemt, sjølvbestemt, Folkeaksjonen, Storbritannia, tillate, dødshjelp, psykiske, kvinners, tatt, Samtale, drap, Loven, tilhengere, adgangen, graviditet, partnerskapsloven, motstandere, morens, overtale, Irland, prester, tillater, innvilget, tar, tilfeller, Nessa, nektet, genteknologi, Selvbestemt, samliv, syndrom, støtter, samboerskap, Sally, irske, alternativer, skilsmisse, Ofring, innført, tvungen, Abort, homofilt, prevensjonsmiddel, tillates, spørsmålet, utfører, bestemme, syke, fødsel, forbyr, synet, godtar, incest, foretas, forebygge, Samtaler, sex, voldsom, temaer, 1973, Haraldsgt, nei, uønskede, Downs, kvinne, reagerer, debatten, etiske, forby, gjennomført, kampen, homoseksualitet, Texas, avgjørelsen, spontan, prinsippet, England, Kvinner, søkte, holdning, overveier, fosterdiagnostikk, tvunget, rett, inngrep, ender, valget, katolske, frivillig, Graviditetstest, sterilisering, foster, oppheve, handlingsplan, fjerne, partnerskap, avgjørelse, kvinnelige, Ludvig, Kvinnefronten, kunstig, risikoen, Spørsmålet, Eire, dødsstraff, uønsket, forbudet, 1978, Polen, kjempet, pillen, valgte, foretatt, 191, sykdommer, lettvint, legal, inngrepet, partnerskapslov, rådgivning, om, Praktisk, aktiv, alkohol, ekteskapet, grunner, abortpillen, familieplanlegging, fosterdrap, utvei, kirkens, godta, tillått, typer, metode, DUBLIN, seksuell, GRATIS, hun, tilgang, strid, spørsmål, Kvinnen, Kampen, vedtatt, forsvarer, forsøkt, forebygging, Mandag-torsdag, fremkalt, tenåringer, Eneste, nekte, absolutte, opphevet, KAN, likestilling, jenter, vanskelige, HJELPE, tilhengerne, tallene, OGSÅ, påvist, grunnlovsfestede, abortloven, risikere, årsaker, holdninger, gjennomgått, løsning, fare, kjemper, standpunkt, delte, seksualitet, akseptere, Saugstad, krenker, kjønn, innvilges, Organisasjonen, grunnloven, lova, kristne, emner, rettigheter, færre, medisinske, Antenne, ekteskap, nekter, ugift, tidsfristen, aksepterer, visse, selvmord, situasjon, presset

Clustret kan studeres som en ordsky

Tegn en ordsky

kommandoen for å tegne en ordsky er cloud(). Argumentet kan være mange ting, så lenge det kobler et ord til et tall. Datarammer som består av en kolonne fungerer fint.

In [21]:
nb.cloud(brev_cluster_1800.cluster_set(aslist=False, exponent=exp)[:150], background='black')
In [22]:
nb.cloud(brev_cluster_00_50.cluster_set(aslist=False, exponent=exp)[:150], background='black')
In [23]:
nb.cloud(brev_cluster_50_70.cluster_set(aslist=False, exponent=exp)[:150], background='black')
In [24]:
nb.cloud(brev_cluster_70_80.cluster_set(aslist=False, exponent=exp)[:150], background='black')
In [25]:
nb.cloud(brev_cluster_80_90.cluster_set(aslist=False, exponent=exp)[:150], background='black')
In [26]:
nb.cloud(brev_cluster_90_00.cluster_set(aslist=False)[:150], background='black')